from Student import Student, StudentList


class Menu:
    s1 = Student(1, "张三", "男")
    s2 = Student(2, "李四", "男")
    s3 = Student(3, "王五", "男")
    stuList = StudentList([s1, s2, s3])

    def studentManager(self):
        """主菜单"""
        while True:
            print("===== 学员信息管理系统 =====")
            print("1、新增")
            print("2、查询")
            print("3、修改")
            print("4、删除")
            print("5、查询所有学员信息")
            print("0、退出系统")
            try:
                menu = input("请输入要操作菜单：\n")
                menu = int(menu)
            except:
                print("输入菜单选项不正确!!!")
                continue
            if menu == 1:
                # 新增学员信息
                self.addStu()
            elif menu == 2:
                # 查询学员信息
                self.findStu()
            elif menu == 3:
                self.updateStu()
            elif menu == 4:
                self.delStu()
            elif menu == 5:
                self.findAll()
            elif menu == 0:
                break
            else:
                print("输入菜单选项不正确!!!")
                continue

    def findAll(self):
        """查询所有学员信息"""
        print("所有学员信息为：")
        print(self.stuList.findAll())

    def addStu(self):
        """新增学员信息"""
        while True:
            print("新增学员操作（输入q返回上一级）：")
            try:
                nu = input("请输入学员学号：\n")
                if nu == "q":
                    break
                nu = int(nu)
            except:
                print("输入学号格式不正确")
                continue
            name = input("请输入学员姓名：\n")
            sex = input("请输入学员性别：\n")
            stu = Student(nu, name, sex)
            self.stuList.save(stu)
            break

    def findStu(self):
        """查询学员信息"""
        while True:
            print("查询学员信息（输入q返回上一级）：")
            try:
                nu = input("请输入学员学号：\n")
                if nu == "q":
                    break
                nu = int(nu)
            except:
                print("输入学号格式不正确")
                continue
            self.stuList.get(nu)
            break

    def updateStu(self):
        """更新学员信息"""
        while True:
            print("查询学员信息（输入q返回上一级）：")
            try:
                nu = input("请输入学员学号：\n")
                if nu == "q":
                    break
                nu = int(nu)
            except:
                print("输入学号格式不正确")
                continue
            name = input("请输入学员姓名：\n")
            sex = input("请输入学员性别：\n")
            stu = Student(nu, name, sex)
            self.stuList.update(stu)
            break

    def delStu(self):
        """删除学员信息"""
        while True:
            print("查询学员信息（输入q返回上一级）：")
            try:
                nu = input("请输入学员学号：\n")
                if nu == "q":
                    break
                nu = int(nu)
            except:
                print("输入学号格式不正确")
                continue
            self.stuList.delete(nu)
            break
